iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0

記錄學習內容。
主要是看網路上的文章和影片,做些紀錄。
內容可能有錯誤。

How Do You Write Closures in Swift?

教學裡先講了 給一個陣列 和 一個整數
要來找 在這個陣列裡 比這個整數 小的數字 。

就是用迴圈 一個一個比較 , 如果陣列裡的數字 < 整數 ,就加到結果

可是今天 我想 改成
在這個陣列裡 比這個整數 大的數字

就要把 < 改成 >
Function的名稱 也要把Greater 改成 lesser ,才符合題意

所以這時候就可以用closure :

原本
If ( num > value )
輸入是num > value
輸出是 true

所以 改成closure 就是
(Int) ->Bool
{(num) -> Bool in return num <5 }

然後判斷改成
If closure(num)

Closure 感覺就像 一個 func變數 。
有點像 C# 的delegate

接著來看:
Swift 3 Fun Algorithms: Filter, Map, Reduce Higher Order Functions

1
要在一個陣列裡 ,找出有3的數字 或是偶數的數字
除了用一般迴圈的方法
有一個方法是numbers.filter() 可以直接 幫忙處理 。

2
現在有一個陣列 ,要把裡面的數字都*2
[1,2,3,4] 變成[2,4,6,8] ,
可以用map

3
一個陣列[1,2,3,4] 要算總和 ,可以用reduce

這篇文章很詳細:
Day27:當天的鐵人當天寫 - Higher-Order Functions & Closure(3)


上一篇
SwiftUI, ContentView 換畫面-- >NavigationView
下一篇
SwiftUI List
系列文
iOS學習資源與筆記28
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言